// /题目：一个数如果恰好等于它的因子之和，这个数就称为“完数”。例如 6=1＋2＋3.
//编程找出 1000 以内的所有完数
#include <stdio.h>
void main()
{
    static int k[10];
    int i,j,n,s;
    for(j=2;j<1000;j++)
    {
        n=1;
        s=j;
        for(i=1;i<j;i++)
        {
            if((j%i)==0)
            {
                n++;
                s=s-i;
                k[n]=i;
            }
        }
        if(s==0)
        {
            printf("%d is a wanshu",j);
            for(i=0;i<n;i++) 
            printf("%d  ",k[i]);
            printf("\n");
        }
    }
}